In a technique (e.g., open flow switching) for concentratedly controlling communications on a network, one flow control apparatus is provided within the network, and sends control information to each switching node apparatus on the network regularly. In accordance with the control information, each switching node apparatus performs data transmission.
FIG. 11 is a diagram showing an example of a network configuration using the open flow switching technique.
In FIG. 11, a network 1000 includes a flow control apparatus 2001 and switching node apparatuses 3001 to 3005. In the figure, port numbers of each switching node apparatus are shown by P1 to P5. Each switching node apparatus may have further ports in addition to those shown in FIG. 11.
The switching node apparatuses 3001 to 3005 each receive control information from the flow control apparatus 2001, and perform a data transmission process in accordance with the control information.
The flow control apparatus 2001 concentratedly the switching node apparatuses 3001 to 3005, and stores connection relationships between the switching node apparatuses. For a flow which is a specific communication between terminal devices 4001 to 4003, the flow control apparatus 2001 performs determination of whether or not the communication can be executed, route determination, band control, packet priority control between the current flow and another flow, and the like.
The terminal devices 4001 to 4003 performs communication therebetween via the network 1000, and they each are a terminal device having a display, such as a personal computer or a cellular phone, or a server device (e.g. work station) which provides a service (e.g., provision of information) to such a terminal device.
FIG. 12 is a diagram showing a data flow when a terminal device connected to a switching node apparatus starts communication. Specifically, FIG. 12 shows a data flow when the terminal device 4002 connected to the switching node apparatus 3005 starts communication with the terminal device 4003 connected to the same switching node apparatus 3005.
First, the terminal device 4002, which desires to communicates with the terminal device 4003, sends an initial packet, to the switching node apparatus 3005 (see arrow C121).
The above initial packet is a packet sent at the starting of communication, and may be an ARP (address resolution protocol) packet, an SYN (synchronize) packet) of TCP (transmission control protocol), or an initial UDP (user datagram protocol) packet having a specific IP (Internet protocol) address and a specific port number.
The switching node apparatus 3005, which received the initial packet from the terminal device 4002, sends an inquiry packet for requesting the flow control apparatus 2001 to send control information (see arrow C122).
The flow control apparatus 2001 which received the inquiry packet determines whether or not a target flow (i.e., communication between the terminal devices 4002 and 4003) can be transferred.
If it is determined that the transfer can be performed, the flow control apparatus 2001 sends a response packet to the switching node apparatus 3005 (see arrow C123). The response packet shows control information and a predetermined time period (e.g., 4 sec) as an effective time for the control information. The control information includes the determined approval or disapproval for the transfer, and a communication protocol (selection between TCP or UDP), a communication route (i.e., output port numbers for the communication), band control information, and priority control information for the relevant flow.
When receiving a response packet, which indicates the approval for the transfer, from the flow control apparatus 2001, the switching node apparatus 3005 retrieves the control information and the effective time from the response packet, and stores them into the flow table T3005. Based on the control information stored in the flow table T3005, the switching node apparatus 3005 performs the communication transfer for the relevant flow.
In the flow table T3005 of FIG. 12, “4002-4003” indicates communication between the terminal devices 4002 and 4003, “P4-P3” indicates that the relevant communication is performed between port P4 and port P3, and “(4)” indicates that the effective time of the relevant information is 4 sec.
Although other information such as information of the communication protocol, band control information, and priority information for the relevant flow is also stored in the flow table, they are not shown in FIG. 12.
FIG. 13 is a diagram showing a data flow when the effective time has elapsed. In FIG. 12, the switching node apparatus 3005 sends an inquiry packet when receiving a packet from the terminal device 4002 as a trigger. In contrast, in FIG. 13, the switching node apparatus 3005 sends an inquiry packet when the effective time has elapsed, which functions as a trigger.
Based on each effective time shown in the flow tables T3001 to T3005, the switching node apparatuses 3001 and 3005 each issues an inquiry to the flow control apparatus 2001 and updates the flow table, regularly.
More specifically, if communication between the terminal devices 4002 and 4003 is again executed within the effective time of 4 seconds (shown in the flow table T3005) measured from when the switching node apparatus 3005 sends an inquiry packet to the flow control apparatus 2001 (see FIG. 12), then the switching node apparatus 3005 sends an inquiry packet to the flow control apparatus 2001 when the effective time (4 sec) has elapsed (see arrow C131).
Similar to the initial inquiry, the flow control apparatus 2001 generates and sends a response packet to the switching node apparatus 3005 (see arrow C132).
Also similar to the initial inquiry, the switching node apparatus 3005 performs communication transfer based on the control information retrieved from the response packet.
If communication between the terminal devices 4002 and 4003 is not again executed within the effective time, the switching node apparatus 3005 deletes the information about the relevant communication flow from the flow table T3005.
FIG. 14 is a diagram showing a data flow when a terminal device changes the switching node apparatus to which the terminal device is connected. In an example of such a case, a terminal device and a switching node apparatus are connected to each other via wireless communication, and then the terminal device escapes from the accessible area of the switching node apparatus and moves to an accessible area of another switching node apparatus.
In an initial state, the terminal device 4001 is connected to the switching node apparatus 3002, and communicates with the terminal device 4003 via the switching node apparatus 3002. In this process, the switching node apparatus 3002 issues an inquiry to the flow control apparatus 2001 as explained using FIGS. 12 and 13, and stores the control information and the effective time into the flow table T3002.
Next, the terminal device 4001 is connected to the switching node apparatus 3004, and again communicates with the terminal device 4003 via the switching node apparatus 3004.
When the terminal device 4001 is connected to the switching node apparatus 3004, the switching node apparatus 3004 issues an inquiry to the flow control apparatus 2001 as explained using FIG. 12, and stores the control information and the effective time into the flow table T3004.
After the connection with the terminal device 4001 is disconnected, the switching node apparatus 3002 deletes the relevant control information and the effective time stored in the flow table T3002 when the effective time has elapsed.